package com.ssy.lingxi.contract.model.vo.applyamount.response;

import com.ssy.lingxi.dto.response.InvoiceProveVO;

import java.io.Serializable;
import java.util.List;

/**
 * 请款单详情基础信息VO
 * @author 伍将
 * @date 2021/3/10
 * @version 2.0.0
 */
public class ApplyAmountOrderBasicsVO implements Serializable {
    private static final long serialVersionUID = 7500384488774085443L;

    /**
     * ID
     */
    private Long id;

    /**
     * 请款编号
     */
    private String applyNo;

    /**
     * 请款摘要
     */
    private String applyAbstract;

    /**
     * 状态
     * 1.待提交审核
     * 2.待审核(一级)
     * 3.审核不通过(一级)
     * 4.待审核(二级)
     * 5.审核不通过(二级)
     * 6.待提交财务付款
     * 7.待付款
     * 8.已付款
     * 9.已作废
     */
    private Integer status;

    /**
     * 状态名称
     */
    private String statusName;

    /**
     * 合同id
     */
    private Long contractId;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 收款会员名称
     */
    private String payeeMemberName;

    /**
     * 收款账户
     */
    private String payeeName;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 开户行
     */
    private String bankDeposit;

    /**
     * 付款计划id
     */
    private Long payPlanId;

    /**
     * 付款阶段
     */
    private String payStage;

    /**
     * 付款比率
     */
    private Double payRatio;

    /**
     * 请款金额
     */
    private Double applyAmount;

    /**
     * 预计付款时间(yyyy-MM-dd)
     */
    private String expectPayTime;

    /**
     * 付款方式
     * 1.现结
     * 2.账期
     * 3.月结
     */
    private Integer payWay;

    /**
     * 付款方式名称
     */
    private String payWayName;

    /**
     * 付款参数（账期天数/请款日）
     */
    private Integer payParam;

    /**
     * 支付方式：2.线下支付
     */
    private Integer moneyPayWay;

    /**
     * 支付渠道：5.线下支付线上确认
     */
    private Long moneyPayChannel;

    /**
     * 备注
     */
    private String remark;

    /**
     * 单据时间(yyyy-MM-dd HH:mm:ss)
     */
    private String orderTime;
    /**
     * 数据来源：1：付款计划，2：合同执行  3：手工
     */
    private Integer sourceType;
    /**
     * 票据.
     */
    private List<InvoiceProveVO> invoiceProveVOList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public String getApplyAbstract() {
        return applyAbstract;
    }

    public void setApplyAbstract(String applyAbstract) {
        this.applyAbstract = applyAbstract;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getPayeeMemberName() {
        return payeeMemberName;
    }

    public void setPayeeMemberName(String payeeMemberName) {
        this.payeeMemberName = payeeMemberName;
    }

    public String getPayeeName() {
        return payeeName;
    }

    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getBankDeposit() {
        return bankDeposit;
    }

    public void setBankDeposit(String bankDeposit) {
        this.bankDeposit = bankDeposit;
    }

    public Long getPayPlanId() {
        return payPlanId;
    }

    public void setPayPlanId(Long payPlanId) {
        this.payPlanId = payPlanId;
    }

    public Double getPayRatio() {
        return payRatio;
    }

    public void setPayRatio(Double payRatio) {
        this.payRatio = payRatio;
    }

    public Double getApplyAmount() {
        return applyAmount;
    }

    public void setApplyAmount(Double applyAmount) {
        this.applyAmount = applyAmount;
    }

    public String getExpectPayTime() {
        return expectPayTime;
    }

    public void setExpectPayTime(String expectPayTime) {
        this.expectPayTime = expectPayTime;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public Integer getPayParam() {
        return payParam;
    }

    public void setPayParam(Integer payParam) {
        this.payParam = payParam;
    }

    public Integer getMoneyPayWay() {
        return moneyPayWay;
    }

    public void setMoneyPayWay(Integer moneyPayWay) {
        this.moneyPayWay = moneyPayWay;
    }

    public Long getMoneyPayChannel() {
        return moneyPayChannel;
    }

    public void setMoneyPayChannel(Long moneyPayChannel) {
        this.moneyPayChannel = moneyPayChannel;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(String orderTime) {
        this.orderTime = orderTime;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getPayStage() {
        return payStage;
    }

    public void setPayStage(String payStage) {
        this.payStage = payStage;
    }

    public String getPayWayName() {
        return payWayName;
    }

    public void setPayWayName(String payWayName) {
        this.payWayName = payWayName;
    }

    public Integer getSourceType() {
        return sourceType;
    }

    public void setSourceType(Integer sourceType) {
        this.sourceType = sourceType;
    }

    public List<InvoiceProveVO> getInvoiceProveVOList() {
        return invoiceProveVOList;
    }

    public void setInvoiceProveVOList(List<InvoiceProveVO> invoiceProveVOList) {
        this.invoiceProveVOList = invoiceProveVOList;
    }
}
